
// Boost Includes ==============================================================
#include <boost/python.hpp>
#include <boost/cstdint.hpp>

// Includes ====================================================================
#include <OpenSG/OSGMatrix.h>
#include <Wrappers.h>

// Using =======================================================================
using namespace boost::python;

// Declarations ================================================================
namespace  {

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(osg_TransformationMatrix_float_setValue_overloads_1_2, setValue, 1, 2)


}// namespace


// Module ======================================================================
void Export_src_pyste_Matrix()
{
    class_< osg::TransformationMatrix<float> > matrix_exposer("Matrix", init<  >());
        matrix_exposer.def(init< const osg::TransformationMatrix<float>& >());
        matrix_exposer.def(init< const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >& >());
        matrix_exposer.def(init< const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >& >());
//        .def(init< const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32 >())
        matrix_exposer.def("identity", &osg::TransformationMatrix<float>::identity, return_value_policy< copy_const_reference >());
        matrix_exposer.def("setIdentity", &osg::TransformationMatrix<float>::setIdentity);
        matrix_exposer.def("setValue", (void (osg::TransformationMatrix<float>::*)(const osg::TransformationMatrix<float>&) )&osg::TransformationMatrix<float>::setValue);
        matrix_exposer.def("setValue", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >&) )&osg::TransformationMatrix<float>::setValue);
        matrix_exposer.def("setValue", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::VectorInterface<float,osg::VecStorage3<float> >&) )&osg::TransformationMatrix<float>::setValue);
//        .def("setValue", (void (osg::TransformationMatrix<float>::*)(const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32, const osg::Real32) )&osg::TransformationMatrix<float>::setValue)
//        .def("setValueTransposed", &osg::TransformationMatrix<float>::setValueTransposed)
        matrix_exposer.def("setValue", (void (osg::TransformationMatrix<float>::*)(const osg::Real32*, bool) )&osg::TransformationMatrix<float>::setValue, osg_TransformationMatrix_float_setValue_overloads_1_2());
        matrix_exposer.def("setValue", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage4<float> >*) )&osg::TransformationMatrix<float>::setValue);
        //**//matrix_exposer.def("setValue", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >*) )&osg::TransformationMatrix<float>::setValue);
        matrix_exposer.def("setValue", (void (osg::TransformationMatrix<float>::*)(const osg::Char8*, bool) )&osg::TransformationMatrix<float>::setValue, osg_TransformationMatrix_float_setValue_overloads_1_2());
        matrix_exposer.def("getValues", &osgwrap::getValuesMatrix<float>);
        //**//matrix_exposer.def("getValues", &osgwrap::getValuesMatrix<float>);
        matrix_exposer.def("setScale", (void (osg::TransformationMatrix<float>::*)(const osg::Real32) )&osg::TransformationMatrix<float>::setScale);
        matrix_exposer.def("setScale", (void (osg::TransformationMatrix<float>::*)(const osg::Real32, const osg::Real32, const osg::Real32) )&osg::TransformationMatrix<float>::setScale);
        matrix_exposer.def("setScale", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&) )&osg::TransformationMatrix<float>::setScale);
        matrix_exposer.def("setTranslate", (void (osg::TransformationMatrix<float>::*)(const osg::Real32, const osg::Real32, const osg::Real32) )&osg::TransformationMatrix<float>::setTranslate);
        matrix_exposer.def("setTranslate", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&) )&osg::TransformationMatrix<float>::setTranslate);
        matrix_exposer.def("setTranslate", (void (osg::TransformationMatrix<float>::*)(const osg::PointInterface<float,osg::VecStorage3<float> >&) )&osg::TransformationMatrix<float>::setTranslate);
        matrix_exposer.def("setRotate", &osg::TransformationMatrix<float>::setRotate);
        matrix_exposer.def("setTransform", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&) )&osg::TransformationMatrix<float>::setTransform);
        matrix_exposer.def("setTransform", (void (osg::TransformationMatrix<float>::*)(const osg::QuaternionBase<float>&) )&osg::TransformationMatrix<float>::setTransform);
        matrix_exposer.def("setTransform", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::QuaternionBase<float>&) )&osg::TransformationMatrix<float>::setTransform);
        matrix_exposer.def("setTransform", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::QuaternionBase<float>&, const osg::VectorInterface<float,osg::VecStorage3<float> >&) )&osg::TransformationMatrix<float>::setTransform);
        matrix_exposer.def("setTransform", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::QuaternionBase<float>&, const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::QuaternionBase<float>&) )&osg::TransformationMatrix<float>::setTransform);
        matrix_exposer.def("setTransform", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::QuaternionBase<float>&, const osg::VectorInterface<float,osg::VecStorage3<float> >&, const osg::QuaternionBase<float>&, const osg::VectorInterface<float,osg::VecStorage3<float> >&) )&osg::TransformationMatrix<float>::setTransform);
        matrix_exposer.def("getTransform", (void (osg::TransformationMatrix<float>::*)(osg::VectorInterface<float,osg::VecStorage3<float> >&, osg::QuaternionBase<float>&, osg::VectorInterface<float,osg::VecStorage3<float> >&, osg::QuaternionBase<float>&, const osg::VectorInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::getTransform);
        matrix_exposer.def("getTransform", (void (osg::TransformationMatrix<float>::*)(osg::VectorInterface<float,osg::VecStorage3<float> >&, osg::QuaternionBase<float>&, osg::VectorInterface<float,osg::VecStorage3<float> >&, osg::QuaternionBase<float>&) const)&osg::TransformationMatrix<float>::getTransform);
        matrix_exposer.def("factor", &osg::TransformationMatrix<float>::factor);
        matrix_exposer.def("multMatrixPnt", (void (osg::TransformationMatrix<float>::*)(const osg::PointInterface<float,osg::VecStorage3<float> >&, osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multMatrixPnt);
        matrix_exposer.def("multMatrixPnt", (void (osg::TransformationMatrix<float>::*)(osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multMatrixPnt);
        matrix_exposer.def("multFullMatrixPnt", (void (osg::TransformationMatrix<float>::*)(const osg::PointInterface<float,osg::VecStorage3<float> >&, osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multFullMatrixPnt);
        matrix_exposer.def("multFullMatrixPnt", (void (osg::TransformationMatrix<float>::*)(osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multFullMatrixPnt);
        matrix_exposer.def("multMatrixVec", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, osg::VectorInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multMatrixVec);
        matrix_exposer.def("multMatrixVec", (void (osg::TransformationMatrix<float>::*)(osg::VectorInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multMatrixVec);
        matrix_exposer.def("mult", (void (osg::TransformationMatrix<float>::*)(const osg::PointInterface<float,osg::VecStorage3<float> >&, osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::mult);
        matrix_exposer.def("mult", (void (osg::TransformationMatrix<float>::*)(osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::mult);
        matrix_exposer.def("mult", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, osg::VectorInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::mult);
        matrix_exposer.def("mult", (void (osg::TransformationMatrix<float>::*)(osg::VectorInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::mult);
        matrix_exposer.def("multPntMatrix", (void (osg::TransformationMatrix<float>::*)(const osg::PointInterface<float,osg::VecStorage3<float> >&, osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multPntMatrix);
        matrix_exposer.def("multPntMatrix", (void (osg::TransformationMatrix<float>::*)(osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multPntMatrix);
        matrix_exposer.def("multPntFullMatrix", (void (osg::TransformationMatrix<float>::*)(const osg::PointInterface<float,osg::VecStorage3<float> >&, osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multPntFullMatrix);
        matrix_exposer.def("multPntFullMatrix", (void (osg::TransformationMatrix<float>::*)(osg::PointInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multPntFullMatrix);
        matrix_exposer.def("multVecMatrix", (void (osg::TransformationMatrix<float>::*)(const osg::VectorInterface<float,osg::VecStorage3<float> >&, osg::VectorInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multVecMatrix);
        matrix_exposer.def("multVecMatrix", (void (osg::TransformationMatrix<float>::*)(osg::VectorInterface<float,osg::VecStorage3<float> >&) const)&osg::TransformationMatrix<float>::multVecMatrix);
        matrix_exposer.def("equals", &osg::TransformationMatrix<float>::equals);
        matrix_exposer.def("det3", (osg::Real32 (osg::TransformationMatrix<float>::*)() const)&osg::TransformationMatrix<float>::det3);
        matrix_exposer.def("det", &osg::TransformationMatrix<float>::det);
        matrix_exposer.def("inverse", &osg::TransformationMatrix<float>::inverse);
        matrix_exposer.def("invert", &osg::TransformationMatrix<float>::invert);
        matrix_exposer.def("invertFrom", &osg::TransformationMatrix<float>::invertFrom);
        matrix_exposer.def("inverse3", &osg::TransformationMatrix<float>::inverse3);
        matrix_exposer.def("invert3", &osg::TransformationMatrix<float>::invert3);
        matrix_exposer.def("invertFrom3", &osg::TransformationMatrix<float>::invertFrom3);
        matrix_exposer.def("transposed", &osg::TransformationMatrix<float>::transposed);
        matrix_exposer.def("transpose", &osg::TransformationMatrix<float>::transpose);
        matrix_exposer.def("transposeFrom", &osg::TransformationMatrix<float>::transposeFrom);
        matrix_exposer.def("mult", (void (osg::TransformationMatrix<float>::*)(const osg::TransformationMatrix<float>&) )&osg::TransformationMatrix<float>::mult);
        matrix_exposer.def("multLeft", &osg::TransformationMatrix<float>::multLeft);
        matrix_exposer.def("add", &osg::TransformationMatrix<float>::add);
        matrix_exposer.def("scale", &osg::TransformationMatrix<float>::scale);
        matrix_exposer.def("addScaled", &osg::TransformationMatrix<float>::addScaled);
        matrix_exposer.def("negate", &osg::TransformationMatrix<float>::negate);
        matrix_exposer.def("norm1", &osg::TransformationMatrix<float>::norm1);
        matrix_exposer.def("norm2", &osg::TransformationMatrix<float>::norm2);
        matrix_exposer.def("normInfinity", &osg::TransformationMatrix<float>::normInfinity);
        matrix_exposer.def("sqrt", (bool (osg::TransformationMatrix<float>::*)(osg::TransformationMatrix<float>&) const)&osg::TransformationMatrix<float>::sqrt);
        matrix_exposer.def("sqrtOf", &osg::TransformationMatrix<float>::sqrtOf);
        matrix_exposer.def("sqrt", (bool (osg::TransformationMatrix<float>::*)() )&osg::TransformationMatrix<float>::sqrt);
        matrix_exposer.def("log", &osg::TransformationMatrix<float>::log);
        matrix_exposer.def("logOf", &osg::TransformationMatrix<float>::logOf);
        matrix_exposer.def("exp", &osg::TransformationMatrix<float>::exp);
        matrix_exposer.def("expOf", &osg::TransformationMatrix<float>::expOf);
        matrix_exposer.staticmethod("identity");
        matrix_exposer.def( self == self );
        matrix_exposer.def( self != self );
    ;
}

